package com.demo.wrapper.pojo;

import com.demo.wrapper.enums.QueryEnum;
import lombok.Data;

/**
 * 查询参数信息接收类
 *
 * @author 19242
 */
@Data
public class Arg {
    /**
     * 比较关系
     */
    private QueryEnum queryEnum;
    /**
     * 字段名
     */
    private String column;
    /**
     * 字段值
     */
    private Object val;
    /**
     * 权重
     */
    private Float boost;

    private Object ext1;
    private Object ext2;
    private Object ext3;
    private Object ext4;

    public Arg(QueryEnum queryEnum, String column, Object val, Float boost) {
        this.queryEnum = queryEnum;
        this.column = column;
        this.val = val;
        this.boost = boost;
    }

    public Arg(QueryEnum queryEnum, String column, Object val, Float boost, Object ext1) {
        this.queryEnum = queryEnum;
        this.column = column;
        this.val = val;
        this.boost = boost;
        this.ext1 = ext1;
    }

    public Arg(QueryEnum queryEnum, String column, Object val, Float boost, Object ext1, Object ext2) {
        this.queryEnum = queryEnum;
        this.column = column;
        this.val = val;
        this.boost = boost;
        this.ext1 = ext1;
        this.ext2 = ext2;
    }

    public Arg(QueryEnum queryEnum, String column, Object val, Float boost, Object ext1, Object ext2, Object ext3) {
        this.queryEnum = queryEnum;
        this.column = column;
        this.val = val;
        this.boost = boost;
        this.ext1 = ext1;
        this.ext2 = ext2;
        this.ext3 = ext3;
    }

    public Arg(QueryEnum queryEnum, String column, Object val, Float boost, Object ext1, Object ext2, Object ext3, Object ext4) {
        this.queryEnum = queryEnum;
        this.column = column;
        this.val = val;
        this.boost = boost;
        this.ext1 = ext1;
        this.ext2 = ext2;
        this.ext3 = ext3;
        this.ext4 = ext4;
    }

    public Arg(QueryEnum queryEnum, Object ext1) {
        this.queryEnum = queryEnum;
        this.ext1 = ext1;
    }

    public Arg(QueryEnum queryEnum, Object ext1, Object ext2) {
        this.queryEnum = queryEnum;
        this.ext1 = ext1;
        this.ext2 = ext2;
    }
}
